package cn.iocoder.yudao.module.member.controller.app.auth.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Schema(description = "用户 APP - 微信登录状态 Response VO")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class AppAuthWechatLoginStatusRespVO {

    @Schema(description = "登录状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "pending")
    private String status; // pending：等待中，success：成功，failed：失败

    @Schema(description = "用户编号", example = "1024")
    private Long userId;

    @Schema(description = "访问令牌", example = "eyJhbGciOiJIUzUxMiJ9.123")
    private String accessToken;

    @Schema(description = "刷新令牌", example = "eyJhbGciOiJIUzUxMiJ9.456")
    private String refreshToken;

    @Schema(description = "过期时间")
    private LocalDateTime expiresTime;

    @Schema(description = "社交用户 openid", example = "wx123456")
    private String openid;

    @Schema(description = "错误消息", example = "微信用户未绑定系统账号")
    private String errorMsg;

}